package com.mjh.zhujianju.service.agency;

import com.livew.framework.base.service.BaseService;
import com.livew.framework.exception.XTBusinessException;
import com.livew.framework.page.PagedResult;
import com.mjh.zhujianju.model.agency.DepartmentEO;
import com.mjh.zhujianju.vo.agency.DepartmentVO;

import java.util.List;
import java.util.Map;

public interface DepartmentService extends BaseService<DepartmentEO>{

	/**
	 * @Description:
	 * @return 
	 * @author wt1293
	 * @date 2018年8月9日下午8:53:33
	 *
	 */
	PagedResult<DepartmentVO> getVOList(DepartmentEO vo);

	/**
	 * wx-查询部门信息List
	 * @return
	 */
	List<DepartmentVO> queryDepartmentForList();

	/**
	 * wx-查询部门信息List、人员信息
	 * @return
	 */
	List<DepartmentVO> queryDepartmentAndUserForList(String userIds,String type);

	List<DepartmentEO> getDepartmentsByIdList(List<Long> deptIds);

	Map<Long,DepartmentEO> getMapToOneByIdList(List<Long> deptIds);


	/**
	 * 根据部门id查询部门详细信息
	 * @param id
	 * @return
	 */
	DepartmentVO queryDepartmentInfo(Long id);

	/**
	 * 保存
	 * @param vo
	 * @throws XTBusinessException
	 */
	void saveInfo(DepartmentVO vo) throws XTBusinessException;

	/**
	 * 更新
	 * @param vo
	 * @throws XTBusinessException
	 */
	void updateInfo(DepartmentVO vo) throws XTBusinessException;
	
	
	/**
	 * 查找详情
	 * @param id
	 * @throws XTBusinessException
	 */
	DepartmentVO getInfo(Long id) throws XTBusinessException;
}
